A packet-based communications network can be viewed as comprising a number of nodes. (As used herein, a “node” refers to any equipment for communicating packets, e.g., a network element, a router, etc.). In such a network, dynamic routing is essential for on-request provisioning of network bandwidth. For the dynamic routing considered here, demands (for set-up of bandwidth guaranteed paths) are not known ahead of time and arrive to the network one at a time. Each demand has associated with it a source node, a destination node and the bandwidth d needed for the demand. (The source and destination nodes are the ingress and egress nodes of the network for a particular demand.)
When a demand arrives into the network, dynamic routing sets up at least two paths: an active (primary) path and a backup path (such algorithms are known in the art and art not described herein). Each path specifies a sequence of links traversing the network from the source node to the destination node. (As used herein, a “link” is any connection between two nodes, e.g., wired, optical, wireless, etc.) Each link on the primary path reserves the associated bandwidth of d units for processing the demand. If the active path fails, traffic is diverted to the backup path (hence providing restorability).